package com.srx.openfeign.utils;

import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;

/**
 * 密码工具类
 * <p>用于处理密码的加密和解密</p>
 * @author 沈汝旭
 * @since 2025-11-10 14:04:05
 * @version 1.0
 */
public class PasswordUtil
{

    /**
     * BCrypt密码编码器
     */
    private static final BCryptPasswordEncoder PASSWORD_ENCODER = new BCryptPasswordEncoder();



    /**
     * 对密码进行加密
     *
     * @param rawPassword 原始密码
     * @return 加密后的密码
     */
    public static String hashPassword(String rawPassword)
    {
        return PASSWORD_ENCODER.encode(rawPassword);
    }


    /**
     * 验证密码是否匹配
     *
     * @param rawPassword    原始密码
     * @param encodedPassword 已加密的密码
     * @return 匹配结果，true表示匹配成功，false表示匹配失败
     */
    public static boolean verifyPassword(String rawPassword, String encodedPassword)
    {
        return PASSWORD_ENCODER.matches(rawPassword, encodedPassword);
    }

}